package model;

/**
 *
 * @author Alvin & Roy
 */
public class Heuristic {

    /**
     * Constructor
     */
    public Heuristic(){

    }

    /**
     * Haal de kosten op om vanaf de huidige locatie naar het doel te gaan
     * @param x De huidige x positie
     * @param y De huidige y positie
     * @param tx De x positie van het doel
     * @param ty De y positie van het doel
     * @return De wortel van het kwadraat van het x verschil plus het kwadraat
     * van het y verschil -> wortel(kwadraat(x_verschil)+kwadraat(y_verschil))
     */
    public float getCost(int x, int y, int tx, int ty) {
                //controleer of de speler aan een rand staat en zet dan de huidige
                //locatie aan de andere kant
		if(x == 0 && tx == Opties.getXSize()-1){
                    x = Opties.getXSize();
                }else if(x == Opties.getXSize()-1 && tx == 0){
                    x = -1;
                }
                if(y == Opties.getYSize()-1 && ty == 0){
                    y = -1;
                }else if(y == 0 && ty == Opties.getYSize()-1){
                    y = Opties.getYSize();
                }

                //bereken het x verschil
                float dx = tx - x;
                //bereken het y verschil
		float dy = ty - y;
                //reken de wortel uit en maak er een float van
		float result = (float) (Math.sqrt((dx*dx)+(dy*dy)));
		return result;
	}

}
